package com.guigu.guliorder.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.guigu.gulicommon.entity.pojo.res.Res;
import com.guigu.guliorder.entity.MqMessage;
import com.guigu.guliorder.entity.dto.InsertMqMessageBatchDto;
import com.guigu.guliorder.entity.dto.SelectMqMessagePagesDto;
import com.guigu.guliorder.entity.dto.UpdateMqMessageDto;

import java.util.ArrayList;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 陈俊杰
 * @since 2024-08-15
 */
public interface IMqMessageService extends IService<MqMessage> {
    /**
     * 批量新增MQ消息(通用)
     *
     * @param dto 添加MQ消息的参数
     * @return vo 添加MQ消息的信息
     */
    Res<MqMessage> addBatch(ArrayList<InsertMqMessageBatchDto> dto);

    /**
     * 批量删除MQ消息(通用)
     *
     * @param ids 批量删除MQ消息的id集合
     * @return vo 被删除的MQ消息的信息
     */
    Res<MqMessage> deleteByIdsBatch(String[] ids);

    /**
     * 修改MQ消息(通用)
     *
     * @param dto 修改MQ消息的参数
     * @return vo 修改后MQ消息的信息
     */
    Res<MqMessage> update(UpdateMqMessageDto dto);

    /**
     * 分页查询MQ消息详情信息(通用)
     *
     * @param pagesDto 查询MQ消息的参数
     * @return vo MQ消息详情的分页
     */
    Res<MqMessage> findPages(SelectMqMessagePagesDto pagesDto);
}
